package br.ufmg.dcc.vod.remoteworkers.async;

import br.ufmg.dcc.vod.remoteworkers.Command;


public class SimpleCommandRequest<T, I> implements AsyncCommandRequest<T, I> {

	private static final long serialVersionUID = 1L;
	
	private final Command<T, I> command;
	private final CommandInterested<T, I> interested;
	private final String location;

	public SimpleCommandRequest(Command<T, I> command, CommandInterested<T, I> interested, String location) {
		this.command = command;
		this.interested = interested;
		this.location = location;
	}
	
	@Override
	public Command<T, I> getCommand() {
		return command;
	}

	@Override
	public CommandInterested<T, I> getCommandResponseInterested() {
		return interested;
	}

	@Override
	public String getCommandResponseInterestedObjectLocation() {
		return location;
	}
}
